perm filename CHDIFD[MF,ALS] blob
sn#793927 filedate 1985-05-21 generic text, type T, neo UTF8
1) DVIESP.CH[MF,ALS] and 2) DVIESP.CH[TEX,SYS] 5-21-85 13:39 pages 1,1
**** File 1) DVIESP.CH[MF,ALS]/1P/1L
1) COMMENT ⊗ VALID 00011 PAGES
1) C REC PAGE DESCRIPTION
**** File 2) DVIESP.CH[TEX,SYS]/1P/1L
2) COMMENT ⊗ VALID 00012 PAGES
2) C REC PAGE DESCRIPTION
***************
**** File 1) DVIESP.CH[MF,ALS]/1P/11L
1) C00020 00009 @x user and file id
1) C00024 00010 @x esp
1) C00025 00011 @x file_name type
1) C00027 ENDMK
1) C⊗;
**** File 2) DVIESP.CH[TEX,SYS]/1P/11L
2) C00019 00009 @x Change to tfm file name conventions:
2) C00023 00010 @x user and file id
2) C00027 00011 @x esp
2) C00028 00012 @x file_name type
2) C00030 ENDMK
2) C⊗;
***************
**** File 1) DVIESP.CH[MF,ALS]/5P/11L
1) @y
**** File 2) DVIESP.CH[TEX,SYS]/5P/11L
2) @#
2) procedure open_tfm_file; {prepares to read packed bytes in |tfm_file|}
2) begin reset(tfm_file,cur_tfm_name);
2) end;
2) @y
***************
**** File 1) DVIESP.CH[MF,ALS]/5P/74L
1) @z
**** File 2) DVIESP.CH[TEX,SYS]/5P/78L
2) @#
2) procedure open_tfm_file; {prepares to read packed bytes in |tfm_file|}
2) begin reset(tfm_file,cur_tfm_name,'/B:8/O/N:9');
2) cur_gf_loc←0;
2) end;
2) @z
***************
1) DVIESP.CH[MF,ALS] and 2) DVIESP.CH[TEX,SYS] 5-21-85 13:39 pages 5,5
**** File 1) DVIESP.CH[MF,ALS]/5P/87L
1) while (imp_name[i]>'.') and (imp_name[i]≠'[') do
1) incr(i); {skip to dot or bracket or space or null}
1) j←i-1;
**** File 2) DVIESP.CH[TEX,SYS]/5P/96L
2) while imp_name[i]>'@@' do i←i+1; {skip to dot or bracket or space}
2) j←i-1;
***************
**** File 1) DVIESP.CH[MF,ALS]/7P/4L
1) @y
**** File 2) DVIESP.CH[TEX,SYS]/7P/4L
2) @d dflt_tfm_directory_name=='TeXfonts:' {change this to the correct name}
2) @d dflt_tfm_directory_name_length=9 {change this to the correct length}
2) @y
***************
**** File 1) DVIESP.CH[MF,ALS]/7P/7L
1) @z
**** File 2) DVIESP.CH[TEX,SYS]/7P/9L
2) @d dflt_tfm_directory_name=='[TEX,SYS]' {change this to the correct name}
2) @d dflt_tfm_directory_name_length=9 {change this to the correct length}
2) @z
***************
**** File 1) DVIESP.CH[MF,ALS]/8P/27L
1) cur_name[r+1]←'.'; cur_name[r+2]←'G'; cur_name[r+3]←'F'; {|cur_name[r+4]←'M';|}
1) @y
**** File 2) DVIESP.CH[TEX,SYS]/8P/27L
2) cur_name[r+1]←'.'; cur_name[r+2]←'G'; cur_name[r+3]←'F';
2) {|cur_name[r+4]←'M';|}
2) @y
***************
**** File 1) DVIESP.CH[MF,ALS]/9P/1L
1) @x user and file id
**** File 2) DVIESP.CH[TEX,SYS]/9P/1L
2) @x Change to tfm file name conventions:
2) @ Normally, we only need to reference the \.{GF} files. On those
2) occasions when no \.{GF} file is to be found we will want to obtain the
2) glyph widths from a \.{TFM} file.
2) The following module takes care of setting the external name of this
2) \.{TFM} file.
2) @<Move font name into the |cur_tfm_name| string@>=
1) DVIESP.CH[MF,ALS] and 2) DVIESP.CH[TEX,SYS] 5-21-85 13:39 pages 9,9
2) for k←1 to name_length do cur_tfm_name[k]←' ';
2) if p=0 then
2) begin for k←1 to dflt_tfm_directory_name_length do
2) cur_tfm_name[k]←dflt_tfm_directory[k];
2) r←dflt_tfm_directory_name_length;
2) end
2) else r←0;
2) for k←font_name[cur_font] to font_name[cur_font+1]-1 do
2) begin incr(r);
2) if r+4>name_length then
2) abort('DVIIMP capacity exceeded (max font name length=',
2) name_length:1,')!');
2) @.DVIIMP capacity exceeded...@>
2) if (names[k]≥"a")∧(names[k]≤"z") then
2) cur_tfm_name[k]←xchr[names[k]-@'40]
2) else cur_tfm_name[r]←xchr[names[k]];
2) end;
2) cur_tfm_name[r+1]←'.'; cur_tfm_name[r+2]←'T';
2) cur_tfm_name[r+3]←'F'; cur_tfm_name[r+4]←'M';
2) @y
2) @ Normally, we only need to reference the \.{GF} files. On those
2) occasions when no \.{GF} file is to be found we will want to obtain the
2) glyph widths from a \.{TFM} file.
2) The following takes care of {\mc SAIL} conventions.
2) @<Move font name into the |cur_tfm_name| string@>=
2) for k←1 to name_length do cur_tfm_name[k]←' ';
2) r←0;
2) for k←font_name[cur_font]+p to font_name[cur_font+1]-1 do
2) if (k≤font_name[cur_font]+p+2)∨(k≥font_name[cur_font+1]-3) then
2) begin incr(r);
2) if r+4>name_length then
2) abort('DVItype capacity exceeded (max font name length=',
2) name_length:1,')!');
2) @.DVItype capacity exceeded...@>
2) if (names[k]≥"a")∧(names[k]≤"z") then
2) cur_tfm_name[r]←xchr[names[k]-@'40]
2) else cur_tfm_name[r]←xchr[names[k]];
2) end;
2) cur_tfm_name[r+1]←'.'; cur_tfm_name[r+2]←'T';
2) cur_tfm_name[r+3]←'F'; cur_tfm_name[r+4]←'M';
2) r←r+4;
2) if p=0 then for k←1 to dflt_tfm_directory_name_length do
2) begin incr(r);
2) if r>name_length then abort('Font name is too long!');
2) cur_tfm_name[r]←dflt_tfm_directory[k];
2) end
2) else for k←font_name[cur_font] to font_name[cur_font]+p-1 do
2) begin incr(r);
1) DVIESP.CH[MF,ALS] and 2) DVIESP.CH[TEX,SYS] 5-21-85 13:39 pages 9,9
2) if r>name_length then abort('Font name is too long!');
2) if (names[k]≥"a")∧(names[k]≤"z") then
2) cur_tfm_name[r]←xchr[names[k]-@'40]
2) else cur_tfm_name[r]←xchr[names[k]];
2) end
2) @z
2) @x user and file id
***************
**** File 1) DVIESP.CH[MF,ALS]/11P/17L
1) @!dvi_n_len:1..f_name_size; {file names at {\sc SAIL} have at most 23 characters}
1) @!ppn:record case integer of
**** File 2) DVIESP.CH[TEX,SYS]/12P/17L
2) @!dvi_n_len:1..f_name_size;
2) {file names at {\sc SAIL} have at most 23 characters}
2) @!ppn:record case integer of
***************